-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DataFrame.describe + auto-convert String-Err to RPolarsErr #268
Conversation
Merge branch 'main' into impl_describe # Conflicts: # tests/testthat/test-lazy.R
Merge branch 'main' into impl_describe # Conflicts: # R/dataframe__frame.R # src/rust/src/utils/mod.rs # tests/testthat/_snaps/dataframe.md # tests/testthat/test-dataframe.R
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please auto formatting (make fmt GIT_DIF_TARGET=main
)
thx I misunderstood how to use make fmt |
Yes, currently by default only uncommitted files are formatted, so you need to set |
hmm maybe bad merge, seems like I'm reverting reverse -> descending PR |
I think this is due to #291 (comment) I will open a follow up PR... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Awesome ! |
Aim
use describe as occasion to rework
RPolarsErr
conversion behavior.Before string errors and
RPolarsErr
where treated "equal". Now string errors will be upgraded toRPolarsErr
. String errors can arise from legacy code with naive errors and from any base R function emitting errors.Prior if an error was String it would propagate as that to the final error to the user.
Now R side
result()
and rust sideunpack_r_result_list
immediately upgrade errors toRPolarsErr
.RPolarsErr
builds context in a more rigorous way and produces better traces of the error.Summary of changes:
>DataFrame>$describe()
upgrade_err
which can convert R errors and any legacy error into RPolarsErr.result()
captures errors they will be upgraded with upgrade_err()robj_to_rexpr
being called by robj_to!